본문으로 건너뛰기

What is REST

작성일 : 2024.12.06

REST의 핵심 개념과 원칙​

1. 정의​

  • 네트워크 통신을 위한 소프트웨어 아키텍처
  • RESTful API: REST 원칙을 따르는 API

2. 주요 원칙​

2-1. 균일한 인터페이스​

  • 표준화된 정보 전송 방식
  • 리소스 식별이 가능해야 함
  • 자체 설명적인 메시지
  • 하이퍼링크를 통한 리소스 탐색
a) 리소스 식별​
  • URI를 통한 고유 식별
  • 예: /users/123, /orders/456
b) 리소스 조작​
  • HTTP 메서드 사용
  • GET: 조회
  • POST: 생성
  • PUT: 전체 수정
  • DELETE: 삭제
  • PATCH: 부분 수정
c) 자체 표현 구조​
  • JSON/XML 등 표준 형식 사용
  • 메타데이터 포함
  • 리소스 상태 정보 제공

2-2. 무상태성​

  • 각 요청은 독립적으로 처리
  • 세션/쿠키 정보 불필요
  • 서버 확장성 향상
  • 요청 자체에 모든 정보 포함

2-3. 계층화​

구성 요소:​
  • 로드 밸런서
  • 인증 서버
  • 캐시 서버
  • API 게이트웨이
장점:​
  • 보안성 향상
  • 유연한 구조
  • 확장성 확보

2-4. 캐시 가능성​

구현 방법:​
  • Cache-Control 헤더 사용
  • ETag 활용
  • Last-Modified 확인
장점:​
  • 서버 부하 감소
  • 응답 속도 향상
  • 네트워크 트래픽 감소

3. 선택적 기능​

  • 온디맨드 코드: 서버가 클라이언트에 실행 코드 전송 가능

4. REST API 응답 상태 코드​

2xx: 성공
- 200: OK
- 201: Created
- 204: No Content

4xx: 클라이언트 오류
- 400: Bad Request
- 401: Unauthorized
- 403: Forbidden
- 404: Not Found

5xx: 서버 오류
- 500: Internal Server Error
- 502: Bad Gateway
- 503: Service Unavailable